import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'

export default defineConfig(({ command, mode }) => {
  // 根据构建模式设置不同的基础配置
  const isDev = command === 'serve'

  return {
    plugins: [vue()],
    resolve: {
      alias: {
        '@': resolve(__dirname, 'src')
      }
    },
    // 只在开发模式下配置server
    ...(isDev ? {
      server: {
        // 允许所有网络接口访问
        host: '0.0.0.0',
        // 可选：指定端口号（默认是5173）
        port: 5173,
        // 自动打开浏览器（可选）
        open: true,
        // 允许跨域（可选）
        cors: true,
        // 代理配置 - 仅开发环境使用
        proxy: {
          '/zapi-allin-sys': {
            target: 'http://43.136.77.194/',
            changeOrigin: true,
            secure: false,
            configure: (proxy, options) => {
              proxy.on('error', (err, req, res) => {
                console.log('代理错误:', err)
              })
              proxy.on('proxyReq', (proxyReq, req, res) => {
                console.log('代理请求:', req.method, req.url, '->', options.target + req.url)
              })
            }
          }
        }
      }
    } : {}),
    build: {
      outDir: 'dist',
      sourcemap: false,
      // 暂时禁用手动代码分割，避免循环依赖问题
      rollupOptions: {
        output: {
          // 让vite自动处理代码分割
          manualChunks: undefined
        }
      }
    }
  }
})
